As manufacturing processes descend below 90 nm resolution, the well proven yield management system tools begin to lose effectiveness. In part, visibility of particulate defects is near the limit of optical inspection tools. Current yield management system tools discern correlations in areas of die which diverge from standard images. These tools cannot currently exploit understanding of the circuit functionality to geometrically locate divergences. There are also design-introduced electrical faults that are yield limiting at these tighter geometries which are detectable in the production test environment.
To improve the testability of high density semiconductor devices, modern design practice inserts additional circuitry specific to test such as scan chains. A scan chain in test mode is configured to be a very long shift register. Patterns generated to operate with scan chains do not have any functional utility and purely observe or control potential electrical defects. But scan chain and bit have little relationship to geometrical location.
To explain the new process, it is first necessary to provide some background on established techniques of SCAN in semiconductor test. The approach of scan methodology is to replace all flip-flops in a design with scan flip-flops. Scan flip-flops provide two paths into each flip-flop: one for the mission of the design, and a second to facilitate test.
There are two most common methods of implementing scan flip-flops today: MUXD and LSSD. The MUXD scan flip-flop approach places a multiplexor or mux on the front end of the D-input. The selector to the mux, known as the scan enable, determines whether to use the mission mode input or the scan test input. The LSSD scan flip-flop approach uses two clocks. One clock latches the mission path input into the flip-flop while the second clock latches the scan test input data into the flip-flop.
By stitching all of the scan flip-flops, or scan cells, together into one or more scan chains, each flip-flop can be preset or observed. This allows for test patterns to be constructed that will concentrate on finding faults in mini sub-circuits. FIG. 1 shows the circuit prior to scan insertion, and FIG. 2 shows the circuit after a MUXD scan insertion.
In FIG. 2, notice that each flip-flop has two input paths as controlled by a mux on the input. When the scan enable “SE” is asserted, the scan chain operates as a shift register. This allows for each flip-flop to be set to a specific state. It also allows for the observation of each flip-flop state as the values are shifted out of the device onto the scan output “SO”. Each flip-flop, or scan cell is numbered for the purpose of referencing.
For this example, the ‘and’ gate can be tested by shifting data into scan cells 3 and 2. After the desired test condition has been loaded, the scan enable is de-asserted and a clock can be applied to capture the output of the combinational logic as observed at scan cell 1. The scan enable is once more applied and the result data as captured at scan cell 1 is shifted through the scan chain until it arrives on the device output for the scan chain.
Historically, testers apply a set of simulated stimulus, and validate that the response on the device outputs match the results expected from the simulation. Functional testers are designed to report in a go/no-go fashion that all of the outputs matched the expected results for all checked strobe points or not. Functional testers are not architected to understand design criteria of the device under test such as the scan structures. Thus, while functional testers can understand which output signals contained failures, each output signal can represent tens of thousands of internal scan cells.
In conventional testers, a test pattern is recorded as pass or fail without retention of a record of the failure test pattern i.e. the actual data output from the device under test which diverges from the acceptance portion of a test vector. Moreover tester storage space and time is at a premium and merely recording all the data is economically unviable.
As it is becoming common for semiconductor companies to apply design-for-test (DFT) methodologies into their chip designs, it is no longer acceptable for automated test equipment (ATE) to continue to perform black box type testing and record only a pass/fail conclusion per device. Rather, it is necessary for ATE to capture each and every failure coming out from the device.
With the deployment of a new class of ATE called structural tester, test engineers not only can capture all the failures from the device, but can also map each failure back to individual flip flop. The problem being solved becomes the amount of data that is generated as 1+ million flops designs are becoming commonplace. Especially so, during first silicon debug or initial wafer probe where there can be a lot of failures generated, either from a new design or from an immature process. Furthermore, to facilitate new silicon or process debug, these failure data are stored, usually in STDF format, into computer-readable media for later consumption by analysis tools. Thus it can be appreciated that what is needed is a method of compacting failure data which reduces the amount of data logged.